
#ifndef _TTG_MATH_MAT4X4X_
#define _TTG_MATH_MAT4X4X_
#include "Common/Definitions.h"

#include "mat4x4.h"

namespace ttg
{
	namespace math
	{
		class mat4x4f :public mat4x4<float>
		{
			public:
				inline mat4x4f()
					:mat4x4<float>()
						{ /*nothing*/ }

				inline mat4x4f(const mat4x4<float> &mat)
					:mat4x4<float>(mat)
						{ /*nothing*/ }

		#ifdef MICROSOFT_DIRECTX

				inline mat4x4f(const D3DXMATRIX &mat)
					:mat4x4<float>(mat)
						{ /*nothing*/ }

		#endif

				inline mat4x4f(float _11, float _12, float _13, float _14,
							   float _21, float _22, float _23, float _24,
							   float _31, float _32, float _33, float _34,
							   float _41, float _42, float _43, float _44)
					:mat4x4<float>(_11, _12, _13, _14,
								   _21, _22, _23, _24,
								   _31, _32, _33, _34,
								   _41, _42, _43, _44)
						{ /*nothing*/ }

			static const mat4x4f ZERO;
			static const mat4x4f IDENTITY;
		};
	}
}

#endif
